#include "trap.h"
   .set noat                  # 禁止在这个段中使用 $at 寄存器
   .globl main                # 声明 main 函数为全局可见
   .text                      # 代码段开始
main:
   lui  $s0, 0x8040          # 将 0x8040 载入到 $s0 的高 16 位
   ori  $at,$zero,0xff       # 将 0xff 载入到 $at
   nop                        # 等待指令，有助于避免数据冒险
   nop                        # 再次等待
   nop                        # 再次等待
   sb   $at,0x3($s0)        # 将 $at 的值 0xff 存入地址 [0x80400003]
   ori  $at,$zero,0xee       # 将 0xee 载入到 $at
   nop                        # 等待指令
   nop                        # 再次等待
   nop                        # 再次等待
   sb   $at,0x2($s0)        # 将 $at 的值 0xee 存入地址 [0x80400002]
   ori  $at,$zero,0xdd       # 将 0xdd 载入到 $at
   nop                        # 等待指令
   nop                        # 再次等待
   nop                        # 再次等待
   sb   $at,0x1($s0)        # 将 $at 的值 0xdd 存入地址 [0x80400001]
   ori  $at,$zero,0xcc       # 将 0xcc 载入到 $at
   nop                        # 等待指令
   nop                        # 再次等待
   nop                        # 再次等待
   sb   $at,0x0($s0)        # 将 $at 的值 0xcc 存入地址 [0x80400000]
   lb   $v0,0x3($s0)        # 从地址 [0x80400003] 读取一个字节到 $v0，值为 0xff
   nop                        # 等待指令

   lui  $at,0x4455          # 将高 16 位 0x4455 载入到 $at
   nop                        # 等待指令
   nop                        # 再次等待
   ori  $at,$at,0x6677       # 将低 16 位 0x6677 加入 $at，形成 0x44556677
   nop                        # 等待指令
   nop                        # 再次等待
   nop                        # 再次等待     
   sw   $at,0x8($s0)        # 将 $at 的值 0x44556677 存入地址 [0x80400008]
   lw   $v0,0x8($s0)        # 从地址 [0x80400008] 读取一个字到 $v0，值为 0x44556677
   nop                        # 等待指令
   HIT_GOOD_TRAP             # 触发停止信号


